package com.ruoyi.course.domain.vo;

import com.ruoyi.trainingManagement.domain.CourseScheduleDetails;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CourseInfoVO {
    // 课程基本信息
    private String courseId;

    // 班级容量信息
    private Integer maxCapacity;
    private Integer currentEnrollment;

    // 教师信息
   // private String teacherId;

    // 教室信息
    private String classroomId;

    // 时间安排信息
    private Integer startWeek;
    private Integer endWeek;
    private Integer weeklyClassCount;
    private Integer lessonsPerClass;
    //上课周期
    private String coursePeriod;
    //学期
    private Integer semesterId;
    //学年
    private String academicYear;

    private List<String> teacherId;

    // 具体排课信息
    private List<CourseScheduleDTO> courseSchedule;

    //实体类CourseScheduleDetails
    private List<CourseScheduleDetails> courseScheduleDetails;

    public CourseInfoVO(Integer startWeek) {
        this.startWeek = startWeek;
    }

    public Integer getLessonsPerClass() {
        return lessonsPerClass;
    }

    public void setLessonsPerClass(Integer lessonsPerClass) {
        this.lessonsPerClass = lessonsPerClass;
    }

    public List<CourseScheduleDTO> getCourseSchedule() {
        return courseSchedule;
    }

    public void setCourseSchedule(List<CourseScheduleDTO> courseSchedule) {
        this.courseSchedule = courseSchedule;
    }

    public Integer getWeeklyClassCount() {
        return weeklyClassCount;
    }

    public void setWeeklyClassCount(Integer weeklyClassCount) {
        this.weeklyClassCount = weeklyClassCount;
    }

    public Integer getEndWeek() {
        return endWeek;
    }

    public void setEndWeek(Integer endWeek) {
        this.endWeek = endWeek;
    }

    public Integer getStartWeek() {
        return startWeek;
    }

    public void setStartWeek(Integer startWeek) {
        this.startWeek = startWeek;
    }

    public String getClassroomId() {
        return classroomId;
    }

    public void setClassroomId(String classroomId) {
        this.classroomId = classroomId;
    }

    public Integer getCurrentEnrollment() {
        return currentEnrollment;
    }

    public void setCurrentEnrollment(Integer currentEnrollment) {
        this.currentEnrollment = currentEnrollment;
    }

    public Integer getMaxCapacity() {
        return maxCapacity;
    }

    public void setMaxCapacity(Integer maxCapacity) {
        this.maxCapacity = maxCapacity;
    }

    public String getCourseId() {
        return courseId;
    }

    public void setCourseId(String courseId) {
        this.courseId = courseId;
    }
    public String getCoursePeriod() {
        return coursePeriod;
    }
    public void setCoursePeriod(String coursePeriod) {
        this.coursePeriod = coursePeriod;
    }
    public List<CourseScheduleDetails> getCourseScheduleDetails() {
        return courseScheduleDetails;
    }
    //set函数
    public void setCourseScheduleDetails(List<CourseScheduleDetails> courseScheduleDetails) {
        this.courseScheduleDetails = courseScheduleDetails;
    }

    public List<String> getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(List<String> teacherId) {
        this.teacherId = teacherId;
    }

    @Data
    public static class CourseScheduleDTO {
        private Integer xq; // 星期（1-7）
        private Integer start; // 开始节次
        private Integer end; // 结束节次
        // 添加原因字段
        public String reason;
    }
}
